{{/* Determine the correct context and scope */}}
{{/* This allows for different logic depending on where the partial is called */}}
{{ $context := . }}
{{ $scope := default nil }}

{{ if (reflect.IsMap . ) }}
  {{ $context = .context }}
  {{ $scope = cond (not .scope) nil .scope }}
{{ end }}

{{ with $context }}
  {{ $meta := newScratch }}

  {{/* Gather partials for this context */}}

  {{ if (.Params.showViews | default (.Site.Params.list.showViews | default false)) }}
    {{ $meta.Add "partials" (slice (partial "meta/views.html" .)) }}
  {{ end }}

  {{ if (.Params.showLikes | default (.Site.Params.list.showLikes | default false)) }}
    {{ $meta.Add "partials" (slice (partial "meta/likes.html" .)) }}
  {{ end }}

  {{ if and (eq $scope "single") (.Params.showLikes | default (.Site.Params.list.showLikes | default false)) }}
    {{ $meta.Add "partials" (slice (partial "meta/likes_button.html" .)) }}
  {{ end }}


  <div class="flex flex-row flex-wrap items-center">
    {{/* Output partials */}}
    {{ with ($meta.Get "partials") }}
      {{ delimit . "<span class=\"px-2 text-primary-500\">&middot;</span>" | safeHTML }}
    {{ end }}
  </div>
{{ end }}
